Micron Document
NexusPi Git Node

Node / mirrors / RTNode-HeltecV4 / files / tests / PROOF_HARNESS.md

Displaying Rendered • View rawDownload

tests/PROOF_HARNESS.md 20ec0b4ee3f3e7a8b3c8d00dcdcd5afdcf2bc840 (20ec0b4e) Text, 3.55 KB

Proof Probe Harnesses

T383838tests/proof_probe_harness.py wraps T383838tests/proof_probe.py into named scenarios so the common transport paths can be re-run without rebuilding long one-off commands.

The harnesses currently cover:

• T383838local-tcp-to-local-tcp
• T383838lora-to-local-tcp
• T383838local-tcp-to-wan
• T383838wan-to-local-tcp

The last two use the same mixed T383838tcp and T383838lora endpoint shape as the earlier proof probes, but keep separate work directories so LAN-to-WAN reachability checks and WAN-ingress checks do not reuse identities, cached paths, or hash files from another scenario.

The harness also supports orchestrated runs so the server side can be started, waited on, exercised by the client, and then stopped in one command.

List the scenarios

T282828
/Users/james/Offline/Reticulum/RTNode-HeltecV4/.venv/bin/python Tffea00\
/Users/james/Offline/Reticulum/RTNode-HeltecV4/tests/proof_probe_harness.py list


Show the commands for one scenario

T282828
/Users/james/Offline/Reticulum/RTNode-HeltecV4/.venv/bin/python Tffea00\
/Users/james/Offline/Reticulum/RTNode-HeltecV4/tests/proof_probe_harness.py Tffea00\
show lora-to-local-tcp


Start the server side

T282828
/Users/james/Offline/Reticulum/RTNode-HeltecV4/.venv/bin/python Tffea00\
/Users/james/Offline/Reticulum/RTNode-HeltecV4/tests/proof_probe_harness.py Tffea00\
server local-tcp-to-wan Tffea00\
--rnode-port /dev/cu.usbmodem114401 Tffea00\
--frequency T79c0ff914875000 Tffea00\
--bandwidth T79c0ff125000 Tffea00\
--spreadingfactor T79c0ff10 Tffea00\
--codingrate T79c0ff5 Tffea00\
--txpower T79c0ff14 Tffea00\
--debug


Start the client side

T282828
/Users/james/Offline/Reticulum/RTNode-HeltecV4/.venv/bin/python Tffea00\
/Users/james/Offline/Reticulum/RTNode-HeltecV4/tests/proof_probe_harness.py Tffea00\
client wan-to-local-tcp Tffea00\
--rnode-port /dev/cu.usbmodem114401 Tffea00\
--frequency T79c0ff914875000 Tffea00\
--bandwidth T79c0ff125000 Tffea00\
--spreadingfactor T79c0ff10 Tffea00\
--codingrate T79c0ff5 Tffea00\
--txpower T79c0ff14 Tffea00\
--payload Ta5d6ff'wan to local tcp harness probe' Tffea00\
--debug


Run one full scenario end to end

T282828
/Users/james/Offline/Reticulum/RTNode-HeltecV4/.venv/bin/python Tffea00\
/Users/james/Offline/Reticulum/RTNode-HeltecV4/tests/proof_probe_harness.py Tffea00\
run lora-to-local-tcp Tffea00\
--tcp-host T79c0ff192.168.2.122 Tffea00\
--rnode-port /dev/cu.usbmodem114401 Tffea00\
--frequency T79c0ff914875000 Tffea00\
--bandwidth T79c0ff125000 Tffea00\
--spreadingfactor T79c0ff10 Tffea00\
--codingrate T79c0ff5 Tffea00\
--txpower T79c0ff14 Tffea00\
--debug


Run all four scenarios

T282828
/Users/james/Offline/Reticulum/RTNode-HeltecV4/.venv/bin/python Tffea00\
/Users/james/Offline/Reticulum/RTNode-HeltecV4/tests/proof_probe_harness.py Tffea00\
run-all Tffea00\
--tcp-host T79c0ff192.168.2.122 Tffea00\
--rnode-port /dev/cu.usbmodem114401 Tffea00\
--frequency T79c0ff914875000 Tffea00\
--bandwidth T79c0ff125000 Tffea00\
--spreadingfactor T79c0ff10 Tffea00\
--codingrate T79c0ff5 Tffea00\
--txpower T79c0ff14 Tffea00\
--debug


Dry-run mode

Pass T383838--dry-run to the T383838server, T383838client, T383838run, or T383838run-all command to print the exact T383838proof_probe.py invocations without launching them.

Defaults

• The harness uses the same Python interpreter that launched it unless T383838--python is provided.
• T383838PYTHONPATH is prepended with the sibling T383838Reticulum-master tree unless T383838--reticulum-root is overridden.
• Default work directories are created under T383838RTNode-HeltecV4/tests/harness_*.
• TCP defaults to T383838mynode.local:4242.
• LoRa defaults to T383838/dev/cu.usbmodem114401 on T383838914875000/125000/SF10/CR5/TXP14.
• Orchestrated runs write scenario-specific server and client logs into the scenario work directory.
• Orchestrated runs clear old T383838config_* directories and T383838server_hash.txt by default so the path lookup is not satisfied by stale state.

Served by rngit 1.4.2 - Generated in 0.01s